Extreme wildfire risk:
KBDI ≥ 600
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
600):
- 2017: 118662
- 2050: 122444
- 2090: 206289
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
High wildfire risk:
KBDI ≥ 450
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
450):
- 2017: 554165
- 2050: 824198
- 2090: 1199022
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
High wildfire risk:
KBDI ≥ 400
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
400):
- 2017: 752812
- 2050: 1225326
- 2090: 1449875
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
LS0tCnRpdGxlOiAiUmVzdWx0czogV2lsZGZpcmVzIGluIGFyZWFzIHdpdGggcHJvamVjdGVkIHdpbGRmaXJlIHJpc2siCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IGZsYXRseQogICAgaGlnaGxpZ2h0OiBoYWRkb2NrIAogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogMgogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQojIGxvYWRzIG5lY2Vzc2FyeSBwYWNrYWdlcyBhbmQgZGVmaW5lcyBnbG9iYWwgdmFyaWFibGVzCnNvdXJjZSgiLi4vLi4vY29kZS8wLXNldHVwLzAxLXNldHVwLlIiKQpsaWJyYXJ5KCJ2aXJpZGlzIikKYGBgCgpgYGB7ciBkYXRhX2lucHV0LCBpbmNsdWRlPUZBTFNFfQp3ZWxsc19rYmRpIDwtIHJlYWRSRFMoIi4uLy4uL2RhdGEvcHJvY2Vzc2VkL3dlbGxzX2tiZGkucmRzIikKc3R1ZHlfcmVnaW9uX3NmIDwtIHJlYWRSRFMoIi4uLy4uL2RhdGEvaW50ZXJpbS9zdHVkeV9yZWdpb25fc2YucmRzIikKa2JkaV9tYXhfMjAxN19zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDE3LnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUgCiAgc3RfaW50ZXJzZWN0aW9uKHN0dWR5X3JlZ2lvbl9zZikKa2JkaV9tYXhfMjA1MF9zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDUwLnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUgCiAgc3RfaW50ZXJzZWN0aW9uKHN0dWR5X3JlZ2lvbl9zZikKa2JkaV9tYXhfMjA5MF9zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDkwLnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUKICBzdF9pbnRlcnNlY3Rpb24oc3R1ZHlfcmVnaW9uX3NmKQp1c19zdGF0ZXNfd2VzdCA8LSBzdF9yZWFkKCIuLi8uLi9kYXRhL3Jhdy91c19jZW5zdXMvdGxfMjAxOF91c19zdGF0ZS5zaHAiKSAlPiUgCiAgZmlsdGVyKFNUVVNQUyAlaW4lIGMoIldBIiwgIk9SIiwgIkNBIiwgIklEIiwgIk5WIiwgIkFaIiwgIk1UIiwgIldZIiwKICAgICAgICAgICAgICAgICAgICAgICAiVVQiLCAiQ08iLCAiTk0iLCAiTkQiLCAiU0QiLCAiTkUiLCAiS1MiLCAiT0siLCAiVFgiLAogICAgICAgICAgICAgICAgICAgICAgICJNTiIsICJJQSIsICJNTyIsICJBUiIsICJMQSIpKSAlPiUKICBzdF9nZW9tZXRyeSgpICU+JQogIHN0X3RyYW5zZm9ybShjcnNfbmFkODMpCnJtKHN0dWR5X3JlZ2lvbl9zZikKYGBgCgoKIyBFeHRyZW1lIHdpbGRmaXJlIHJpc2s6IEtCREkg4omlIDYwMAoKIyMgRGVzY3JpcHRpdmUgc3RhdGlzdGljcywgYWdncmVnYXRlCgpOIHdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyAoaS5lLiwgYXJlYXMgd2l0aCBLQkRJIOKJpSA2MDApOgoKLSAyMDE3OiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA2MDApICU+JSBucm93YAotIDIwNTA6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIG5yb3dgCi0gMjA5MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgbnJvd2AKCgojIyBSZXN1bHRzLCAyMDE3IHdpbGRmaXJlIHJpc2sKCioqUGxvdC4gS0JESSBpbiBzdHVkeSByZWdpb24qKgoKYGBge3IgZWNobz1GQUxTRX0KZ2dwbG90KCkgKwogIGdlb21fc2YoZGF0YSA9IGtiZGlfbWF4XzIwMTdfc2YsIGFlcyhjb2xvciA9IGtiZGlfbWF4XzIwMTcpKSArCiAgc2NhbGVfY29sb3JfdmlyaWRpcyhvcHRpb24gPSAiQiIpICsKICBnZW9tX3NmKGRhdGEgPSB1c19zdGF0ZXNfd2VzdCwgY29sb3IgPSAid2hpdGUiLCBmaWxsID0gTkEpICsKICBsYWJzKGNvbG9yID0gIktCREkiKSArCiAgdGhlbWVfbWluaW1hbCgpCmBgYAoKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwMTcgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwMTcgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDkwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDkwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgojIEhpZ2ggd2lsZGZpcmUgcmlzazogS0JESSDiiaUgNDUwCgojIyBEZXNjcmlwdGl2ZSBzdGF0aXN0aWNzLCBhZ2dyZWdhdGUKCk4gd2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIChpLmUuLCBhcmVhcyB3aXRoIEtCREkg4omlIDQ1MCk6CgotIDIwMTc6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIG5yb3dgCi0gMjA1MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgbnJvd2AKLSAyMDkwOiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSBucm93YAoKCiMjIFJlc3VsdHMsIDIwMTcgd2lsZGZpcmUgcmlzawoKKipQbG90LiBLQkRJIGluIHN0dWR5IHJlZ2lvbioqCgpgYGB7ciBlY2hvPUZBTFNFfQpnZ3Bsb3QoKSArCiAgZ2VvbV9zZihkYXRhID0ga2JkaV9tYXhfMjAxN19zZiwgYWVzKGNvbG9yID0ga2JkaV9tYXhfMjAxNykpICsKICBzY2FsZV9jb2xvcl92aXJpZGlzKG9wdGlvbiA9ICJCIikgKwogIGdlb21fc2YoZGF0YSA9IHVzX3N0YXRlc193ZXN0LCBjb2xvciA9ICJ3aGl0ZSIsIGZpbGwgPSBOQSkgKwogIGxhYnMoY29sb3IgPSAiS0JESSIpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgoqKlBsb3QuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0NTApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fYmFyKGFlcyhzdGF0ZSwgbiksIHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfY2xhc3NpYygpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IGNvdW50eSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0NTApICU+JSAKICBncm91cF9ieShjb3VudHlfcGFyaXNoKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IG9wZXJhdG9yKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KG9wZXJhdG9yKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKKipQbG90LiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGdncGxvdCgpICsKICBnZW9tX2JhcihhZXMoc3RhdGUsIG4pLCBzdGF0ID0gImlkZW50aXR5IikgKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBjb3VudHkqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoY291bnR5X3BhcmlzaCkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBvcGVyYXRvcioqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSAKICBncm91cF9ieShvcGVyYXRvcikgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCgojIEhpZ2ggd2lsZGZpcmUgcmlzazogS0JESSDiiaUgNDAwCgojIyBEZXNjcmlwdGl2ZSBzdGF0aXN0aWNzLCBhZ2dyZWdhdGUKCk4gd2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIChpLmUuLCBhcmVhcyB3aXRoIEtCREkg4omlIDQwMCk6CgotIDIwMTc6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIG5yb3dgCi0gMjA1MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgbnJvd2AKLSAyMDkwOiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSBucm93YAoKCiMjIFJlc3VsdHMsIDIwMTcgd2lsZGZpcmUgcmlzawoKKipQbG90LiBLQkRJIGluIHN0dWR5IHJlZ2lvbioqCgpgYGB7ciBlY2hvPUZBTFNFfQpnZ3Bsb3QoKSArCiAgZ2VvbV9zZihkYXRhID0ga2JkaV9tYXhfMjAxN19zZiwgYWVzKGNvbG9yID0ga2JkaV9tYXhfMjAxNykpICsKICBzY2FsZV9jb2xvcl92aXJpZGlzKG9wdGlvbiA9ICJCIikgKwogIGdlb21fc2YoZGF0YSA9IHVzX3N0YXRlc193ZXN0LCBjb2xvciA9ICJ3aGl0ZSIsIGZpbGwgPSBOQSkgKwogIGxhYnMoY29sb3IgPSAiS0JESSIpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgoqKlBsb3QuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0MDApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fYmFyKGFlcyhzdGF0ZSwgbiksIHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfY2xhc3NpYygpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IGNvdW50eSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0MDApICU+JSAKICBncm91cF9ieShjb3VudHlfcGFyaXNoKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IG9wZXJhdG9yKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KG9wZXJhdG9yKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKKipQbG90LiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGdncGxvdCgpICsKICBnZW9tX2JhcihhZXMoc3RhdGUsIG4pLCBzdGF0ID0gImlkZW50aXR5IikgKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBjb3VudHkqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoY291bnR5X3BhcmlzaCkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBvcGVyYXRvcioqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSAKICBncm91cF9ieShvcGVyYXRvcikgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCg==